% clc
% clear
currentDir = pwd; % 获取当前目录路径
parentDir = fileparts(currentDir); % 获取当前目录的上一级目录路径
% grandParentDir = fileparts(parentDir); % 获取当前目录的上两级目录路径
% greatGrandParentDir = fileparts(grandParentDir); % 获取当前目录的上三级目录路径

%指定需要查找的文件夹
subdir = 'DATA';
%指定需要查找的文件名
filename = '413168000.mat';
%构造需要查找的文件的完整路径
full_path = fullfile(parentDir, subdir, filename);

load( full_path)  %此处使用的数据是原始org数据经过后面的[]处理后得到的数据
ais_org =AIS(:,{'Lon','Lat'});

z=1:length(ais_org.Lon);  %轨迹点序号
figure1=figure;
h=plot3(ais_org.Lon,ais_org.Lat,z,'LineWidth',1);
grid on;
xlabel('经度(°)');
ylabel('纬度(°)');
zlabel('轨迹点序号');
% 创建一个新的坐标轴用于局部放大图
ax2 = axes('Position',[0.6 0.6 0.25 0.25]); % 位置和大小根据需要调整
box on;
grid on;

% 选择要放大的数据区域
range=200:250;
X_zoom = ais_org.Lon(range);
Y_zoom = ais_org.Lat(range);
Z_zoom = z(range);

% 在新的坐标轴上绘制局部放大的三维图
plot3(ax2, X_zoom, Y_zoom, Z_zoom, 'r-', 'LineWidth', 2);
% xlabel(ax2, 'Lon(°)');
% ylabel(ax2, 'Lat(°)');
% zlabel(ax2, 'Z');
title(ax2, '局部放大');

% 链接坐标轴的视图，使得旋转一个坐标轴时，另一个也会相应旋转
view3D = onCleanup(@() view3(ax2, view(h.Parent)));

annotation(figure1,'arrow',[0.191428571428571 0.45],...
    [0.480904761904762 0.386666666666667]);



%绘制插值后的轨迹
filename1 = 'my.mat';
%构造需要查找的文件的完整路径
full_path1 = fullfile(parentDir, subdir, filename1);
load( full_path1)  

ais_splined =my.ais_splined(:,{'Lon','Lat'});

% 创建图形，但不显示在屏幕上
% figure(1);
% DrawENC(ship_AIS, 'Original AIS Trajectory');
% plot(ship_AIS.Lon,ship_AIS.Lat,'k--','LineWidth',1);
% plot(ship_AIS.Lon(1120:1130),ship_AIS.Lat(1120:1130),'k-','LineWidth',1);
% 显示网格
% grid on;
% box on;
z_splined=1:length(ais_splined.Lon);  %轨迹点序号
figure2=figure;
h=plot3(ais_splined.Lon,ais_splined.Lat,z_splined,'LineWidth',1);
grid on;
xlabel('经度(°)');
ylabel('纬度(°)');
zlabel('轨迹点序号');
% 创建一个新的坐标轴用于局部放大图
ax2 = axes('Position',[0.6 0.6 0.25 0.25]); % 位置和大小根据需要调整
box on;
grid on;

% 选择要放大的数据区域
range=200:250;
X_zoom = ais_splined.Lon(range);
Y_zoom = ais_splined.Lat(range);
Z_zoom = z_splined(range);

% 在新的坐标轴上绘制局部放大的三维图
plot3(ax2, X_zoom, Y_zoom, Z_zoom, 'r-', 'LineWidth', 2);
% xlabel(ax2, 'Lon(°)');
% ylabel(ax2, 'Lat(°)');
% zlabel(ax2, 'Z');
title(ax2, '局部放大');

% 链接坐标轴的视图，使得旋转一个坐标轴时，另一个也会相应旋转
view3D = onCleanup(@() view3(ax2, view(h.Parent)));

annotation(figure2,'arrow',[0.191428571428571 0.45],...
    [0.480904761904762 0.386666666666667]);




